package com.xbongbong.sys.model;

import com.xbongbong.sys.domain.entity.FeeEntity;

import java.util.List;
import java.util.Map;

/**
 * @description:
 * @Author: hongxiao
 * @date: 2019-01-14 20:27
 */
public interface FeeModel {
    Integer insert(FeeEntity entity);

    Integer update(FeeEntity entity);

    Integer save(FeeEntity entity);


    Integer deleteByKey( Long key);

    FeeEntity getByKey( Long key);

    List<FeeEntity> findEntitys(Map<String ,Object> param);
    Integer getEntitysCount(Map<String ,Object>  param);

    /**
     * 根据用户数和套餐名称获取套餐信息
     * @param userNum 用户数
     * @param feeName 套餐名称
     * @return 套餐实体
     */
    FeeEntity getEntitysByFeeNameAndUerNum(Integer userNum,String feeName);

    /**
     * 根据名称获取套餐信息
     * @param feeName 套餐名称
     * @return 套餐实体
     */
    FeeEntity getEntitysByFeeName(String feeName);

    /**
     * 获取套餐列表
     */
    List<FeeEntity> getFeeList();

    /**
     * 根据id list获取套餐列表
     * @param feeIdIn 套餐ID队列
     * @author youli.chen
     * @return
     */
    List<FeeEntity> getFeeListByIdIn(List<Long> feeIdIn);

    /**
     * 根据type类型获取所有套餐
     * @param type
     * @return java.util.List<com.xbongbong.sys.domain.entity.FeeEntity>
     * @author 石安
     * @date 2020-01-06
     */
    List<FeeEntity> getByType(int type);
}
